1. Field of the Present Invention
The present invention is in the field of data processing systems and, more particularly, data processing systems that employ CPU throttling.
2. History of Related Art
In the field of data processing systems and, more specifically, server systems, resource management software allows administrators to allocate CPU time to specific applications running under the server's operating system. The resource management software can allocate CPU cycles to applications such that, for example, high priority applications can be guaranteed a minimum percentage of CPU cycles. This type of resource management beneficially enables administrators to permit low priority applications to execute without substantially degrading the performance of high priority applications.
Typically, resource management software has been applied in the context of a static performance environment. More specifically, resource allocations made by resource management software assume that the CPU speed is a fixed parameter. The assumption of a constant clock speed, however, is no longer universally accurate. In an effort to address power consumption issues, techniques for modifying the CPU clock speed have emerged. CPU's that execute at slower clock speeds consume less power than comparable CPU's running at higher clock speeds. When a CPU's clock speed is reduced in an effort to conserve power, performance guarantees based on allocating CPU cycles to high priority applications may require adjustment. Unfortunately, conventional implementations of system manager resources do not account for the potential affect that CPU throttling may have on performance guarantees (also referred to herein as service level agreements or SLA's). It would be desirable to implement system management resources that dynamically adjust the factors required to honor performance guarantees when system conditions, such as available power, change.